home *** CD-ROM | disk | FTP | other *** search
-
- GEMFAST v1.50.
- 06/29/90 by Ian Lepore.
-
- Version 1.50 of GemFast is a full release of the GemFast bindings.
-
- In GEMFST15.ARC you will find new new libraries (VDIFAST.A and AESFAST.A),
- & new docs; see packing list in GEMFBIND.DOC for a full list of contents.
-
- A new set of example programs was co-released with this version of
- GemFast. Look for GEMFXM14.ARC at your favorite PD software outlet.
-
- A new version of the non-standard utilties in C source code form was
- co-released with this version of GemFast. Look for GEMFUT14.ARC.
-
- The source code for this release of the bindings can be found in the
- file GEMFSC15.ARC.
-
- All GemFast-related files can be found on BIX, in atari.st/listings.
-
- The primary reasons for this release are:
- - The utilities document file (GEMUTIL.DOC) was missing from the
- v1.4 release file.
- - Added VDI function v_gchar() to output a single character via
- v_gtext(). Documented in GEMXTEND.DOC.
-
- INSTALLING THIS RELEASE:
-
- (Detailed instructions for a first-time install are in GEMFBIND.DOC)
-
- Throw away the following files from your current release:
-
- AESFAST.A VDIFAST.A GEMFAST.H
- AESFAST.NDX VDIFAST.NDX (optional...used only with the aln linker)
- All documentation files.
-
- Install the following files from the ARC:
-
- AESFAST.A VDIFAST.A GEMFAST.H
- All DOC files.
-
- If you are using the Atari 'aln' linker, be sure to create new .NDX files
- by running the DOINDEX utility against the new bindings (.a files).
-
- ;*************************************************************************
- ; GEMFAST v1.50 notes.
- ;*************************************************************************
-
- Summary of changes to the bindings:
-
- - Added VDI function v_gchar(). This allows a very fast call to v_gtext()
- to output a single character. Documented in GEMXTEND.DOC.
-
- ;*************************************************************************
- ; GEMFAST v1.40 notes.
- ;*************************************************************************
-
- Summary of changes to the bindings:
-
- - Several alternate bindings have been added (listed above). These are
- documented in GEMXTEND.DOC.
-
- - The fsel_14input() function was added. This is a no-emulation version
- of the TOS 1.4 fsel_exinput() function. If TOS 1.4 is available, the
- fsel_exinput function is called, else the old fsel_input is called.
-
- Summary of changes to the GEMFAST.H file:
-
- - The constants AESUTIL_A, AESFAST_A, and VDIFAST_A have been added.
- This allows full compile-time check of the runtime environment.
-
- - All elements in structures which were defined as 'long' but were
- really pointers to something are now defined as the appropriate type
- of pointer. This is gonna cause some existing code to break, but it
- is about time to clean up this DRI-originated stupidity. If your
- compiler is smart enough to warn you about pointer type mismatches,
- you can clean up your existing code in just a few minutes. (And if your
- compiler doesn't complain about mismatches, you're already all set.)
- Comments in GEMFAST.H describe these pointer changes in more detail.
-
- - Added RSHDR structure for embedded RSC file support.
-
- Summary of changes to the non-standard utilities:
-
- - The rsc_gstrings()/rcs_sstrings() functions now support ICON objects.
-
- - Added obj_rbselect() function. This function deselects the current
- radio button in a group and selects a new one.
-
- - Added obj_xtfind() function. This function find an object with a given
- extended object type within a tree/subtree.
-
- ;*************************************************************************
- ; GEMFAST v1.30 notes.
- ;*************************************************************************
-
- Summary of changes to the GEMFAST.H file:
-
- - The constant GEMFAST_H is now #define'd to 1. This allows C source code
- to detect whether the GEMFAST system is in use (and perhaps conditionally
- include code for the utilties that may not be present under other
- bindings systems).
-
- - Several new constants have been added to provide compatibility with MWC.
- (EG, MWC uses ROOT instead of R_TREE, both are now defined). Changes of
- this nature should be transparent to existing applications, unless one
- of the new constants conflicts with a name being used by the application.
-
- - The constants defining the VDI interior styles & patterns were originally
- defined as IP_HOLLOW, etc, in the GEMDEFS.H file. I had renamed these to
- VIP_HOLLOW, etc, for GEMFAST.H. At the request of several users, I've
- added the old names back in. The VIP_????? names will go away eventually.
- The names of the object colors have also been added back in.
-
- - Lots of #define statements have been added to support the old names of
- utility functions which have been renamed within the bindings.
-
- Summary of changes to the non-standard utilities:
-
- - Routine objcl_calc() is in the process of being phased out. Don't
- use it any more.
-
- - Many of the utility functions have been renamed. The old names will
- continue to be supported for some time via #define statements in the
- GEMFAST.H file. Full details on this are available in GEMUTIL.DOC, the
- following is a summary of the renaming:
-
- objclg_adjust renamed to rc_gadjust.
- objclv_adjust renamed to rc_vadjust.
- objc_xywh renamed to obj_xywh.
- objrb_which renamed to obj_rbwhich.
- objst_change renamed to obj_stchange.
- objfl_change renamed to obj_flchange.
- graqon_mouse renamed to gra_qonmouse.
- graqof_mouse renamed to gra_qofmouse.
- graq_mstate renamed to gra_qmstate.
-
- - A couple of new utility functions were formalized in this release:
-
- obj_rbfind - find child object in a given state (eg, radio button).
- obj_offxywh - get screen-adjusted x/y/w/h of object.
-
- Summary of AES bindings changes in v1.30:
-
- - Fixed the emulation mode of fsel_exinput when running on a pre-TOS 1.4
- system. The emulation would die, 2 bombs, if run on a pre-1.4 system,
- AND NOBODY REPORTED IT FOR OVER 6 MONTHS! I finally discovered it
- myself when testing an application for 1.0 compatibility. This tells
- me that NOBODY is using this function, but that's cool, I'm gonna keep
- supporting it anyway.
-
- Summary of VDI bindings changes in v1.30:
-
- - Fixed a problem with vsl_ends(). The binding was coded to DRI specs,
- but the DRI docs don't mention that the function returns 2 integers.
- Since the DRI docs make no provisions for returning these values through
- the binding, the fix simply prevents the bombs; the values are still not
- returned to the calling application.
-
- ;*************************************************************************
- ; GEMFAST v1.20 notes.
- ;*************************************************************************
-
- Summary of AES bindings changes in v1.20:
-
- - The 'quick' mouse functions graqon_mouse(), graqof_mouse(), and
- graq_mstate() were fixed to work under all TOS versions.
-
- - The shel_get() and shel_put() functions were implemented as described
- in the TOS 1.4 release notes (see docs in GEMXTEND.DOC).
-
- - Another emulation version of fsel_exinput() was added. This version
- emulates the prompt feature only, beyond that it is identical to the
- TOS 1.0 fsel. This one is only half the size of the full emulation.
- (Documented under fsel_smallexinput() in GEMXTEND.DOC).
-
- - A lot of the source modules were split into smaller modules containing
- less functions. This makes the library bigger, but might make your
- programs a bit smaller, as there will be less tendancy to include
- pieces of the bindings that your program will never use.
-
- - A TST.W D0 instruction was added to the common return-to-user routine
- so that the flags in the CCR will match the return value in register d0.
- This is needed because the Laser C compiler assumes it will be so, and
- will not generate TST.x instructions inline under some circumstances,
- such as when a call is coded as "if (!rsrc_load(filename))".
-
- - A TST.W D0 (or equivelent) was also added to all the utility routines
- which are not defined as type 'void'.
-
- Summary of VDI bindings changes in v1.20:
-
- - A bug in v_contourfill() was fixed (call no longer causes 3 bombs).
-
- ; end of docs for v1.2
-
- ;*************************************************************************
- ; GEMFAST v1.10 notes.
- ;*************************************************************************
-
- Summary of AES bindings changes in v1.10:
-
- - A global variable was added to AES@NOTE such that the version number is
- part of the variable name. Allows a quick version-check via a link map.
-
- - New TOS 1.4 function 'wind_new()' added (see GEMXTEND.DOC).
-
- - New TOS 1.4 function 'fsel_exinput()' (see GEMXTEND.DOC).
-
- - 'Undocumented' functions 'form_button()' and 'form_keybd()' added
- (see GEMXTEND.DOC).
-
- - Some cleanup in AESCOMN.S.
-
- - All of the variables in the 'global' array now have unique global
- names which can be accessed from C (see GEMFBIND.DOC section 6.0).
-
- The AESFAST.A file is much bigger than v1.0. This is primarily due to
- the addition the new fsel_exinput function (see below), and the vast
- amount of code required to simulate its actions on pre-TOS 1.4 systems.
- If you don't use this function, the increase in size won't affect you.
-
- Summary of VDI bindings changes in v1.10:
-
- - A global variable was added to VDI@NOTE such that the version number is
- part of the variable name. Allows a quick version-check via a link map.
-
- - Misnamed function vq_extend was renamed to vq_extnd in VDIINQR1.S
-
- - The stack parms for vq_extnd were wrong, now fixed.
-
- The VDIFAST.A file is slightly smaller. This is due to a change in the
- way I build the library. Instead of adding everything to the library,
- then running the Sozobon GLOBS program to remove non-global symbols from
- the files, I ran GLOBS on each file individually before adding it to the
- library. I didn't expect any difference, and I don't know why there is
- one, but since it made the library smaller I'm not complaining.
-
- ; end of doc.
-
-